잠시만 기다려 주세요

     '총선이 다가오니.. 민주당 수박들.. 슬슬 또 옳은 소리 하지.... 이때만 이새끼들아.!! 결정적일 때 당원들 등에 칼을 꽂는다. -.-; 지나면 입턴 거 다 무효화 된다.. 주의해야 한다. 이새끼들은 사악하다... 절대 다시 뽑아주면 안된다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1054)  |  추천 및 재미 (150)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (584)  |  끄적거림 (127)  |  문예 창작 (703)  |  바람 따라 (69)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    postgresql

postgresql - postgresql vacuumdb, psql, pg_dump 패스워드 password 없이 crontab 으로 자동실행하기, pgpass
이 름 : 바다아이   |   조회수 : 10263         짧은 주소 : https://www.bada-ie.com/su/?791591822762
postgresql 패스워드 없이 vacuumdb, psql, pg_dump 실행하려면
.pgpass 파일을 유저 루트 디렉토리에 만들어서 아래와 같은 규격으로 값을 입력해 놓으시면 됩니다.
그리고 보안상 반드시 권한을 chmod 0600 .pgpass 로 만드셔야 합니다.
hostname:port:database:username:password

vi .pgpass

localhost:5432:디비명:유저명:패스워드

이 작업에서 중요한 것은 특정 명령, 아래처럼 vacuumdb 를 crontab 으로 자동실행 한다고 보면
실제 이 명령어를 실행하는 유저의 홈 디렉토리에 .pgpass 가 만들어져야 한다는 것입니다.
-U postgres 가 아닌 실제 실행하는 유저의 홈 디렉토리 입니다. -U postgres 는 그저 postgresql 에 접근 관련 유저입니다.


이제 vacuumdb 를 crontab 에 등록한다고 한다면

vi /etc/crontab

51      03      *       *       5       root    /usr/local/bin/vacuumdb -U postgres -d 디비명 -f

여기서 매우 중요한 포인트는 절대경로... /usr/local/bin/vacuumdb 이 부분입니다.
절대 그냥 vacuumdb 하시면 안됩니다. freebsd 기준으로 해당 위치고요..
리눅스는 버전별 경로가 다릅니다.

find / -name vacuumdb 요렇게 해서 경로를 찾아서 그 경로를 쓰시면 됩니다.

이렇게 하면 매주 금요일 오전 3시 51분에 root가 vaccumdb 를 실행하게 됩니다.
패스워드는 root 홈 디렉토리의 .pgpass 에서 가져와 자동으로 입력하게 됩니다.
나머지 psql 이나 pg_dump 도 .pgpass 를 따르게 됩니다.

이게 postgresql 에서 자동화 관련 굉장히 편리한 기능입니다. 자동으로 백업도 가능하겠죠.. pg_dump 로...
혼동 하시면 안됩니다.  실행자의 홈 디렉토리에 .pgpass 가 있어야 한다는 게 핵심입니다.

p.s
.pgpass 정보가 안 맞으면 패스워드 입력 창이 열리겠죠... 이러면 자동화에 문제가 생깁니다. ^^;
정확한 정보를 입력하시고 crontab 올리기 전에 해당 유저명으로 테스트 실행해서
패스워드 입력 없이 그냥 실행되면 잘 적용이 되는 것입니다.

예를 들어)
root 홈에 있는 .pgpass 파일 내용이 아래와 같다고 봅시다.
localhost:5432:디비명:postgres:암호

root 로 로그인 하시고...

psql -U postgres -d 디비명

해서 그냥 통과되면 설정이 잘된 것이고 그게 아니고 패스워드 창 뜨면 그럼 설정이 문제있는 겁니다.

 
| |





      1 page / 2 page
번 호 카테고리 제 목 이름 조회수
45 postgresql postgresql ... postgresql 14 .. postgresql.conf port 5432 .. 바다아이 686
44 postgresql , count(*) .... 바다아이 6868
43 postgresql How to do an update + join in PostgreSQL?, 바다아이 6102
42 postgresql sequence(퀀) 바다아이 7737
41 postgresql , , , index create, , 바다아이 8113
40 postgresql postgresql log_timezone .... 바다아이 6509
39 postgresql postgresql SEQUENCE reset .... 바다아이 8350
38 postgresql [PostgreSql] WITH , , Operator 바다아이 7743
37 postgresql postgresql for, foreach , 바다아이 9300
36 postgresql postgresql , , into ... 바다아이 9293
35 postgresql postgresql PL/pgSQL - SQL Procedural Language, , 바다아이 10712
34 postgresql postgresql ... .. , , 바다아이 11729
33 postgresql postgresql CSV export/import 바다아이 8532
32 postgresql postgresql tablespace , .... 바다아이 12860
31 postgresql postgresql 10 partitioning, ... , ... 바다아이 9275
30 postgresql Using PostgreSQL Arrays, ... ... 바다아이 9233
29 postgresql PostgreSQL (TRIGGER) (function) 바다아이 8997
28 postgresql Optimize and Improve PostgreSQL Performance with VACUUM, ANALYZE, and REINDEX 바다아이 9647
27 postgresql postgresql tuple . vacuumdb .. , . 바다아이 9046
26 postgresql postgresql , .. 바다아이 9243
25 postgresql postgresql , size, 바다아이 11245
24 postgresql postgresql , , .... 바다아이 8283
23 postgresql PostgreSQL Replication, , , master, slave 바다아이 10780
22 postgresql postgresql case 바다아이 8155
21 postgresql postgresql with 바다아이 8589
20 postgresql postgresql , , string 바다아이 11499
19 postgresql Postgresql partitioning table , , , 바다아이 9091
18 postgresql PostgreSQL 바다아이 10575
현재글 postgresql postgresql vacuumdb, psql, pg_dump password crontab , pgpass 바다아이 10264
16 postgresql postgresql sequence 퀀 auto_increment . 바다아이 9689
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.08435
to webmaster... gogo sea. gogo sea.